package dcc.manager;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

import dcc.component.CustomLabel;
import dcc.component.CustomTextField;
import dcc.component.PhotoPanel;
import dcc.component.SelectPhotoButton;
import dcc.component.SubtablePanel;
import dcc.component.tabs.AcademicOrganizationAndSocialGroupPanel;
import dcc.component.tabs.ActivityPanel;
import dcc.component.tabs.AdditionalPanel;
import dcc.component.tabs.AttendMeetingAndServicePanel;
import dcc.component.tabs.DepartmentOpinionPanel;
import dcc.component.tabs.FamilyPanel;
import dcc.component.tabs.ResumePanel;
import dcc.component.tabs.SelfAssessmentPanel;
import dcc.component.tabs.StoryPanel;
import dcc.manager.base.InformationManager;
import dcc.mbg.model.BaseInfo;
import dcc.mbg.model.MSubtable;
import dcc.service.CommonService;
import dcc.tools.BeanFactory;

public class OutsideProvinceExperts extends InformationManager {

	public JPanel panelA;
	public JPanel panelB;
	public ResumePanel panelC;
	public AcademicOrganizationAndSocialGroupPanel panelD;
	public AttendMeetingAndServicePanel panelE;
	public FamilyPanel panelF;
	public SelfAssessmentPanel panelG;
	public DepartmentOpinionPanel panelH;
	public ActivityPanel panelI;
	public StoryPanel panelJ;
	public AdditionalPanel panelK;
	// public JTextField tfshiBieHao;
	// public JTextField tfxingMing;
	// public JTextField tfxingBie;
	// public JTextField tfleiBie;
	public JTextField tfchuShengRiQi;
	public JTextField tfchuShengDi;
	public JTextField tfminZu;
	public JTextField tfguoJi;
	public JTextField tfzhengZhiMianMao;
	public JTextField tfzuiGaoXueLiXueWei;
	public JTextField tfguDingDianHua;
	public JTextField tfhunYinZhuangKuang;
	public JTextField tfcanJiaGongZuoShiJian;
	public JTextField tfsuoXueZhuanYe;
	public JTextField tfyiDongDianHua;
	public JTextField tfdianZiYouXiang;
	public JTextField tftongXunDiZhiYouZhengBianMa;
	public JTextField tfxinXiCaiJiShiJian;
	public JTextField tfxinXiCaiJiDanWei;
	public JTextField tfjiGuan;
	public JTextField tfrenCaiLeiBieFenMu;
	public JTextField tfrenCaiRuKuBiaoShi;
	public JTextField tfzaiGangZhuangTai;
	public JTextField tfcongShiGongZuo;
	public JTextField tfzhuanYeJiCongShiFangXiang;
	public JTextField tfgongZuoDanWei;
	public JTextField tfjiShuZhiCheng;
	public JTextField tfjiShuZhiWu;
	public JTextField tfxingZhengZhiWu;
	public JTextField tfguiGuoRenYuan;
	public JTextField tfyeYuAiHao;
	public JTextField tfzhangWoYuYan;
	public JLabel label_18;
	public JLabel label_19;
	public JLabel label_20;
	public JLabel label;
	public JLabel label_1;
	public JLabel label_3;
	public JLabel label_2;
	public JLabel lblNewLabel;
	public JLabel lblNewLabel_1;
	public JLabel lblNewLabel_2;
	public JLabel label_4;
	public JLabel label_5;
	public JLabel label_6;
	public JLabel lblhtml;
	public JLabel label_7;
	public JLabel label_9;
	public JLabel label_8;
	public JLabel label_12;
	public JLabel label_13;
	public JLabel lblNewLabel_3;
	public JLabel label_26;
	public JLabel label_28;
	public JLabel label_15;
	public JLabel label_29;
	public JLabel label_16;
	public JLabel label_61;
	public JLabel label_17;
	public JLabel label_59;
	public JLabel label_22;
	public JLabel label_23;
	public JLabel label_27;
	public JLabel label_30;
	public JLabel label_25;
	public JLabel label_55;
	public JLabel label_56;
	public JLabel label_14;
	public SubtablePanel panelB1;
	public SubtablePanel panelB2;
	public SubtablePanel panelB3;
	public SubtablePanel panelB4;
	public SubtablePanel panelB5;
	public SubtablePanel panelB6;
	public List<MSubtable> listB1;
	public List<MSubtable> listB2;
	public List<MSubtable> listB3;
	public List<MSubtable> listB4;
	public List<MSubtable> listB5;
	public List<MSubtable> listB6;
	public JLabel customLabel;
	public JLabel customLabel_1;
	public JLabel label_60;
	public JTextField tfzuiJinYiCiShangDaoShiJian;
	public JLabel label_80;
	public JTextField tfshiFouRouXingYinJin;

	@Override
	public void bindModel(BaseInfo baseInfo) {
		super.bindModel(baseInfo);
		Integer baseId = baseInfo.getId();
		CommonService cs = ((CommonService) BeanFactory
				.getBean("commonService"));
		dcc.mbg.model.OutsideProvinceExperts info =cs.getOutsideProvinceExpertsByBaseId(baseInfo.getId());
		this.getModelField(info, this.getClass());
		
		panelG.setData(info.getZiWoPingJiaJiGongZuoYuanJing());
		panelH.setData(info.getBuMenYiJian());
		panelK.setData(info.getBuChongShuoMing());
		
		this.listB1 = cs.getSubtableRecords("b1",baseId);
		panelB1.setData(listB1);
		this.listB2 = cs.getSubtableRecords("b2",baseId);
		panelB2.setData(listB2);
		this.listB3 = cs.getSubtableRecords("b3",baseId);
		panelB3.setData(listB3);
		this.listB4 = cs.getSubtableRecords("b4",baseId);
		panelB4.setData(listB4);
		this.listB5 = cs.getSubtableRecords("b5",baseId);
		panelB5.setData(listB5);
		this.listB6 = cs.getSubtableRecords("b6",baseId);
		panelB6.setData(listB6);
		
		panelC.setData(cs.getResumePanelByBaseId(baseId));
		panelD.setData(cs.getAcademicOrganizationAndSocialGroupByBaseId(baseId));
		panelE.setData(cs.getAttendMeetingAndServiceByBaseId(baseId));
		panelF.setData(cs.getFamilyByBaseId(baseId));
		panelI.setData(cs.getActivityByBaseId(baseId));
		panelJ.setData(cs.getStoryByBaseId(baseId));
		
		panelB1.update();
		panelB2.update();
		panelB3.update();
		panelB4.update();
		panelB5.update();
		panelB6.update();
		panelC.update();
		panelD.update();
		panelE.update();
		panelF.update();
		panelI.update();
		panelJ.update();
	}

	public OutsideProvinceExperts() {
		super();
		init();
	}

	private void init() {
		// --------------------------------------------------------------------------------
		// TODO PA

		panelA = new JPanel();
		addTab("A.\u57FA\u672C\u4FE1\u606F", panelA);
		GridBagLayout gbl_panelA = new GridBagLayout();
		gbl_panelA.columnWidths = new int[] { 25, 100, 110, 65, 90, 40, 80, 40,
				55, 55, 0, 0 };
		gbl_panelA.rowHeights = new int[] { 25, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0 };
		gbl_panelA.columnWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
				0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE };
		gbl_panelA.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
				0.0, 0.0, 0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE };
		panelA.setLayout(gbl_panelA);

		lblNewLabel = new CustomLabel(
				"<html>\r\n\t<body align=\"center\">\r\n\t\u4EBA\u624D\u8BC6\u522B\u53F7<br />\r\n\t(\u8EAB\u4EFD\u8BC1\u53F7/\u62A4\u7167\u53F7)\r\n\t</body>\r\n</html");

		GridBagConstraints gbc_lblNewLabel = new GridBagConstraints();
		gbc_lblNewLabel.fill = GridBagConstraints.BOTH;
		gbc_lblNewLabel.insets = new Insets(0, 0, 5, 5);
		gbc_lblNewLabel.gridx = 1;
		gbc_lblNewLabel.gridy = 1;
		panelA.add(lblNewLabel, gbc_lblNewLabel);

		tfshiBieHao = new CustomTextField();

		GridBagConstraints gbc_tfshiBieHao = new GridBagConstraints();
		gbc_tfshiBieHao.gridwidth = 8;
		gbc_tfshiBieHao.insets = new Insets(0, 0, 5, 5);
		gbc_tfshiBieHao.fill = GridBagConstraints.BOTH;
		gbc_tfshiBieHao.gridx = 2;
		gbc_tfshiBieHao.gridy = 1;
		panelA.add(tfshiBieHao, gbc_tfshiBieHao);

		label_18 = new CustomLabel("\u4EBA\u624D\u7C7B\u522B");

		GridBagConstraints gbc_label_18 = new GridBagConstraints();
		gbc_label_18.fill = GridBagConstraints.BOTH;
		gbc_label_18.insets = new Insets(0, 0, 5, 5);
		gbc_label_18.gridx = 1;
		gbc_label_18.gridy = 2;
		panelA.add(label_18, gbc_label_18);

		// tfleiBie = new CustomTextField(); move to base class

		GridBagConstraints gbc_tfleiBie = new GridBagConstraints();
		gbc_tfleiBie.insets = new Insets(0, 0, 5, 5);
		gbc_tfleiBie.fill = GridBagConstraints.BOTH;
		gbc_tfleiBie.gridx = 2;
		gbc_tfleiBie.gridy = 2;
		panelA.add(tfleiBie, gbc_tfleiBie);

		label_19 = new CustomLabel("\u59D3\u540D");

		GridBagConstraints gbc_label_19 = new GridBagConstraints();
		gbc_label_19.fill = GridBagConstraints.BOTH;
		gbc_label_19.insets = new Insets(0, 0, 5, 5);
		gbc_label_19.gridx = 3;
		gbc_label_19.gridy = 2;
		panelA.add(label_19, gbc_label_19);

		tfxingMing = new CustomTextField();

		GridBagConstraints gbc_tfxingMing = new GridBagConstraints();
		gbc_tfxingMing.insets = new Insets(0, 0, 5, 5);
		gbc_tfxingMing.fill = GridBagConstraints.BOTH;
		gbc_tfxingMing.gridx = 4;
		gbc_tfxingMing.gridy = 2;
		panelA.add(tfxingMing, gbc_tfxingMing);

		label_20 = new CustomLabel("\u6027\u522B");

		GridBagConstraints gbc_label_20 = new GridBagConstraints();
		gbc_label_20.fill = GridBagConstraints.BOTH;
		gbc_label_20.insets = new Insets(0, 0, 5, 5);
		gbc_label_20.gridx = 5;
		gbc_label_20.gridy = 2;
		panelA.add(label_20, gbc_label_20);

		tfxingBie = new CustomTextField();

		GridBagConstraints gbc_tfxingBie = new GridBagConstraints();
		gbc_tfxingBie.gridwidth = 2;
		gbc_tfxingBie.insets = new Insets(0, 0, 5, 5);
		gbc_tfxingBie.fill = GridBagConstraints.BOTH;
		gbc_tfxingBie.gridx = 6;
		gbc_tfxingBie.gridy = 2;
		panelA.add(tfxingBie, gbc_tfxingBie);

		zhaoPian = new PhotoPanel();
		GridBagConstraints gbc_zhaoPian = new GridBagConstraints();
		gbc_zhaoPian.gridheight = 4;
		gbc_zhaoPian.gridwidth = 2;
		gbc_zhaoPian.insets = new Insets(0, 0, 5, 5);
		gbc_zhaoPian.fill = GridBagConstraints.BOTH;
		gbc_zhaoPian.gridx = 8;
		gbc_zhaoPian.gridy = 2;
		panelA.add(zhaoPian, gbc_zhaoPian);

		lblNewLabel_1 = new CustomLabel("\u51FA\u751F\u65E5\u671F");

		GridBagConstraints gbc_lblNewLabel_1 = new GridBagConstraints();
		gbc_lblNewLabel_1.fill = GridBagConstraints.BOTH;
		gbc_lblNewLabel_1.insets = new Insets(0, 0, 5, 5);
		gbc_lblNewLabel_1.gridx = 1;
		gbc_lblNewLabel_1.gridy = 3;
		panelA.add(lblNewLabel_1, gbc_lblNewLabel_1);

		tfchuShengRiQi = new CustomTextField();

		GridBagConstraints gbc_tfchuShengRiQi = new GridBagConstraints();
		gbc_tfchuShengRiQi.gridwidth = 2;
		gbc_tfchuShengRiQi.insets = new Insets(0, 0, 5, 5);
		gbc_tfchuShengRiQi.fill = GridBagConstraints.BOTH;
		gbc_tfchuShengRiQi.gridx = 2;
		gbc_tfchuShengRiQi.gridy = 3;
		panelA.add(tfchuShengRiQi, gbc_tfchuShengRiQi);

		label_2 = new CustomLabel("\u7C4D\u8D2F");

		GridBagConstraints gbc_label_2 = new GridBagConstraints();
		gbc_label_2.fill = GridBagConstraints.BOTH;
		gbc_label_2.insets = new Insets(0, 0, 5, 5);
		gbc_label_2.gridx = 4;
		gbc_label_2.gridy = 3;
		panelA.add(label_2, gbc_label_2);

		tfjiGuan = new CustomTextField();

		GridBagConstraints gbc_tfjiGuan = new GridBagConstraints();
		gbc_tfjiGuan.gridwidth = 3;
		gbc_tfjiGuan.insets = new Insets(0, 0, 5, 5);
		gbc_tfjiGuan.fill = GridBagConstraints.BOTH;
		gbc_tfjiGuan.gridx = 5;
		gbc_tfjiGuan.gridy = 3;
		panelA.add(tfjiGuan, gbc_tfjiGuan);

		lblNewLabel_2 = new CustomLabel("\u51FA\u751F\u5730");

		GridBagConstraints gbc_lblNewLabel_2 = new GridBagConstraints();
		gbc_lblNewLabel_2.fill = GridBagConstraints.BOTH;
		gbc_lblNewLabel_2.insets = new Insets(0, 0, 5, 5);
		gbc_lblNewLabel_2.gridx = 1;
		gbc_lblNewLabel_2.gridy = 4;
		panelA.add(lblNewLabel_2, gbc_lblNewLabel_2);

		tfchuShengDi = new CustomTextField();

		GridBagConstraints gbc_tfchuShengDi = new GridBagConstraints();
		gbc_tfchuShengDi.gridwidth = 2;
		gbc_tfchuShengDi.insets = new Insets(0, 0, 5, 5);
		gbc_tfchuShengDi.fill = GridBagConstraints.BOTH;
		gbc_tfchuShengDi.gridx = 2;
		gbc_tfchuShengDi.gridy = 4;
		panelA.add(tfchuShengDi, gbc_tfchuShengDi);

		label_3 = new CustomLabel("\u6C11\u65CF");

		GridBagConstraints gbc_label_3 = new GridBagConstraints();
		gbc_label_3.fill = GridBagConstraints.BOTH;
		gbc_label_3.insets = new Insets(0, 0, 5, 5);
		gbc_label_3.gridx = 4;
		gbc_label_3.gridy = 4;
		panelA.add(label_3, gbc_label_3);

		tfminZu = new CustomTextField();

		GridBagConstraints gbc_tfminZu = new GridBagConstraints();
		gbc_tfminZu.gridwidth = 3;
		gbc_tfminZu.insets = new Insets(0, 0, 5, 5);
		gbc_tfminZu.fill = GridBagConstraints.BOTH;
		gbc_tfminZu.gridx = 5;
		gbc_tfminZu.gridy = 4;
		panelA.add(tfminZu, gbc_tfminZu);

		label_4 = new CustomLabel("\u56FD\u7C4D");

		GridBagConstraints gbc_label_4 = new GridBagConstraints();
		gbc_label_4.fill = GridBagConstraints.BOTH;
		gbc_label_4.insets = new Insets(0, 0, 5, 5);
		gbc_label_4.gridx = 1;
		gbc_label_4.gridy = 5;
		panelA.add(label_4, gbc_label_4);

		tfguoJi = new CustomTextField();

		GridBagConstraints gbc_tfguoJi = new GridBagConstraints();
		gbc_tfguoJi.gridwidth = 2;
		gbc_tfguoJi.insets = new Insets(0, 0, 5, 5);
		gbc_tfguoJi.fill = GridBagConstraints.BOTH;
		gbc_tfguoJi.gridx = 2;
		gbc_tfguoJi.gridy = 5;
		panelA.add(tfguoJi, gbc_tfguoJi);

		label_5 = new CustomLabel("\u5A5A\u59FB\u72B6\u51B5");

		GridBagConstraints gbc_label_5 = new GridBagConstraints();
		gbc_label_5.fill = GridBagConstraints.BOTH;
		gbc_label_5.insets = new Insets(0, 0, 5, 5);
		gbc_label_5.gridx = 4;
		gbc_label_5.gridy = 5;
		panelA.add(label_5, gbc_label_5);

		tfhunYinZhuangKuang = new CustomTextField();

		GridBagConstraints gbc_tfhunYinZhuangKuang = new GridBagConstraints();
		gbc_tfhunYinZhuangKuang.gridwidth = 3;
		gbc_tfhunYinZhuangKuang.insets = new Insets(0, 0, 5, 5);
		gbc_tfhunYinZhuangKuang.fill = GridBagConstraints.BOTH;
		gbc_tfhunYinZhuangKuang.gridx = 5;
		gbc_tfhunYinZhuangKuang.gridy = 5;
		panelA.add(tfhunYinZhuangKuang, gbc_tfhunYinZhuangKuang);

		label_6 = new CustomLabel("\u653F\u6CBB\u9762\u8C8C");

		GridBagConstraints gbc_label_6 = new GridBagConstraints();
		gbc_label_6.fill = GridBagConstraints.BOTH;
		gbc_label_6.insets = new Insets(0, 0, 5, 5);
		gbc_label_6.gridx = 1;
		gbc_label_6.gridy = 6;
		panelA.add(label_6, gbc_label_6);

		tfzhengZhiMianMao = new CustomTextField();

		GridBagConstraints gbc_tfzhengZhiMianMao = new GridBagConstraints();
		gbc_tfzhengZhiMianMao.gridwidth = 2;
		gbc_tfzhengZhiMianMao.insets = new Insets(0, 0, 5, 5);
		gbc_tfzhengZhiMianMao.fill = GridBagConstraints.BOTH;
		gbc_tfzhengZhiMianMao.gridx = 2;
		gbc_tfzhengZhiMianMao.gridy = 6;
		panelA.add(tfzhengZhiMianMao, gbc_tfzhengZhiMianMao);

		lblhtml = new CustomLabel(
				"<html>\r\n<body align=\"center\">\r\n\u53C2\u52A0\u5DE5\u4F5C<br />\r\n\u65F6\u95F4(\u5E74\u6708)<\r\n</body>\r\n/html>");

		GridBagConstraints gbc_lblhtml = new GridBagConstraints();
		gbc_lblhtml.fill = GridBagConstraints.BOTH;
		gbc_lblhtml.insets = new Insets(0, 0, 5, 5);
		gbc_lblhtml.gridx = 4;
		gbc_lblhtml.gridy = 6;
		panelA.add(lblhtml, gbc_lblhtml);

		tfcanJiaGongZuoShiJian = new CustomTextField();

		GridBagConstraints gbc_tfcanJiaGongZuoShiJian = new GridBagConstraints();
		gbc_tfcanJiaGongZuoShiJian.gridwidth = 3;
		gbc_tfcanJiaGongZuoShiJian.insets = new Insets(0, 0, 5, 5);
		gbc_tfcanJiaGongZuoShiJian.fill = GridBagConstraints.BOTH;
		gbc_tfcanJiaGongZuoShiJian.gridx = 5;
		gbc_tfcanJiaGongZuoShiJian.gridy = 6;
		panelA.add(tfcanJiaGongZuoShiJian, gbc_tfcanJiaGongZuoShiJian);

		btnSelectPhoto = new SelectPhotoButton("  \u6DFB\u52A0\u7167\u7247  ",
				this.zhaoPian);
		GridBagConstraints gbc_btnSelectPhoto = new GridBagConstraints();
		gbc_btnSelectPhoto.gridwidth = 2;
		gbc_btnSelectPhoto.insets = new Insets(0, 0, 5, 5);
		gbc_btnSelectPhoto.gridx = 8;
		gbc_btnSelectPhoto.gridy = 6;
		panelA.add(btnSelectPhoto, gbc_btnSelectPhoto);

		label_7 = new CustomLabel("\u6700\u9AD8\u5B66\u5386\u5B66\u4F4D");

		GridBagConstraints gbc_label_7 = new GridBagConstraints();
		gbc_label_7.fill = GridBagConstraints.BOTH;
		gbc_label_7.insets = new Insets(0, 0, 5, 5);
		gbc_label_7.gridx = 1;
		gbc_label_7.gridy = 7;
		panelA.add(label_7, gbc_label_7);

		tfzuiGaoXueLiXueWei = new CustomTextField();

		GridBagConstraints gbc_tfzuiGaoXueLiXueWei = new GridBagConstraints();
		gbc_tfzuiGaoXueLiXueWei.gridwidth = 2;
		gbc_tfzuiGaoXueLiXueWei.insets = new Insets(0, 0, 5, 5);
		gbc_tfzuiGaoXueLiXueWei.fill = GridBagConstraints.BOTH;
		gbc_tfzuiGaoXueLiXueWei.gridx = 2;
		gbc_tfzuiGaoXueLiXueWei.gridy = 7;
		panelA.add(tfzuiGaoXueLiXueWei, gbc_tfzuiGaoXueLiXueWei);

		label_9 = new CustomLabel("\u6240\u5B66\u4E13\u4E1A");

		GridBagConstraints gbc_label_9 = new GridBagConstraints();
		gbc_label_9.fill = GridBagConstraints.BOTH;
		gbc_label_9.insets = new Insets(0, 0, 5, 5);
		gbc_label_9.gridx = 4;
		gbc_label_9.gridy = 7;
		panelA.add(label_9, gbc_label_9);

		tfsuoXueZhuanYe = new CustomTextField();

		GridBagConstraints gbc_tfsuoXueZhuanYe = new GridBagConstraints();
		gbc_tfsuoXueZhuanYe.gridwidth = 5;
		gbc_tfsuoXueZhuanYe.insets = new Insets(0, 0, 5, 5);
		gbc_tfsuoXueZhuanYe.fill = GridBagConstraints.BOTH;
		gbc_tfsuoXueZhuanYe.gridx = 5;
		gbc_tfsuoXueZhuanYe.gridy = 7;
		panelA.add(tfsuoXueZhuanYe, gbc_tfsuoXueZhuanYe);

		label_8 = new CustomLabel("\u56FA\u5B9A\u7535\u8BDD");
		GridBagConstraints gbc_label_8 = new GridBagConstraints();
		gbc_label_8.fill = GridBagConstraints.BOTH;
		gbc_label_8.insets = new Insets(0, 0, 5, 5);
		gbc_label_8.gridx = 1;
		gbc_label_8.gridy = 8;
		panelA.add(label_8, gbc_label_8);

		tfguDingDianHua = new CustomTextField();
		GridBagConstraints gbc_tfguDingDianHua = new GridBagConstraints();
		gbc_tfguDingDianHua.insets = new Insets(0, 0, 5, 5);
		gbc_tfguDingDianHua.fill = GridBagConstraints.BOTH;
		gbc_tfguDingDianHua.gridx = 2;
		gbc_tfguDingDianHua.gridy = 8;
		panelA.add(tfguDingDianHua, gbc_tfguDingDianHua);

		label = new CustomLabel("\u79FB\u52A8\u7535\u8BDD");
		GridBagConstraints gbc_label = new GridBagConstraints();
		gbc_label.fill = GridBagConstraints.BOTH;
		gbc_label.insets = new Insets(0, 0, 5, 5);
		gbc_label.gridx = 3;
		gbc_label.gridy = 8;
		panelA.add(label, gbc_label);

		tfyiDongDianHua = new CustomTextField();
		GridBagConstraints gbc_tfyiDongDianHua = new GridBagConstraints();
		gbc_tfyiDongDianHua.gridwidth = 2;
		gbc_tfyiDongDianHua.insets = new Insets(0, 0, 5, 5);
		gbc_tfyiDongDianHua.fill = GridBagConstraints.BOTH;
		gbc_tfyiDongDianHua.gridx = 4;
		gbc_tfyiDongDianHua.gridy = 8;
		panelA.add(tfyiDongDianHua, gbc_tfyiDongDianHua);

		label_1 = new CustomLabel("\u7535\u5B50\u90AE\u7BB1");
		GridBagConstraints gbc_label_1 = new GridBagConstraints();
		gbc_label_1.fill = GridBagConstraints.BOTH;
		gbc_label_1.insets = new Insets(0, 0, 5, 5);
		gbc_label_1.gridx = 6;
		gbc_label_1.gridy = 8;
		panelA.add(label_1, gbc_label_1);

		tfdianZiYouXiang = new CustomTextField();
		GridBagConstraints gbc_tfdianZiYouXiang = new GridBagConstraints();
		gbc_tfdianZiYouXiang.gridwidth = 3;
		gbc_tfdianZiYouXiang.insets = new Insets(0, 0, 5, 5);
		gbc_tfdianZiYouXiang.fill = GridBagConstraints.BOTH;
		gbc_tfdianZiYouXiang.gridx = 7;
		gbc_tfdianZiYouXiang.gridy = 8;
		panelA.add(tfdianZiYouXiang, gbc_tfdianZiYouXiang);

		label_12 = new CustomLabel(
				"<html>\r\n<body align=\"center\">\r\n\u901A\u8BAF\u5730\u5740<br />\r\n\u53CA\u90AE\u653F\u7F16\u7801\r\n</body>\r\n</html>");
		GridBagConstraints gbc_label_12 = new GridBagConstraints();
		gbc_label_12.fill = GridBagConstraints.BOTH;
		gbc_label_12.insets = new Insets(0, 0, 5, 5);
		gbc_label_12.gridx = 1;
		gbc_label_12.gridy = 9;
		panelA.add(label_12, gbc_label_12);

		tftongXunDiZhiYouZhengBianMa = new CustomTextField();
		GridBagConstraints gbc_tftongXunDiZhiJiYouZhengBianMa = new GridBagConstraints();
		gbc_tftongXunDiZhiJiYouZhengBianMa.gridwidth = 8;
		gbc_tftongXunDiZhiJiYouZhengBianMa.insets = new Insets(0, 0, 5, 5);
		gbc_tftongXunDiZhiJiYouZhengBianMa.fill = GridBagConstraints.BOTH;
		gbc_tftongXunDiZhiJiYouZhengBianMa.gridx = 2;
		gbc_tftongXunDiZhiJiYouZhengBianMa.gridy = 9;
		panelA.add(tftongXunDiZhiYouZhengBianMa,
				gbc_tftongXunDiZhiJiYouZhengBianMa);

		label_13 = new CustomLabel("\u4FE1\u606F\u91C7\u96C6\u65F6\u95F4");
		GridBagConstraints gbc_label_13 = new GridBagConstraints();
		gbc_label_13.fill = GridBagConstraints.BOTH;
		gbc_label_13.insets = new Insets(0, 0, 5, 5);
		gbc_label_13.gridx = 1;
		gbc_label_13.gridy = 10;
		panelA.add(label_13, gbc_label_13);

		tfxinXiCaiJiShiJian = new CustomTextField();
		GridBagConstraints gbc_tfxinXiCaiJiShiJian = new GridBagConstraints();
		gbc_tfxinXiCaiJiShiJian.gridwidth = 2;
		gbc_tfxinXiCaiJiShiJian.insets = new Insets(0, 0, 5, 5);
		gbc_tfxinXiCaiJiShiJian.fill = GridBagConstraints.BOTH;
		gbc_tfxinXiCaiJiShiJian.gridx = 2;
		gbc_tfxinXiCaiJiShiJian.gridy = 10;
		panelA.add(tfxinXiCaiJiShiJian, gbc_tfxinXiCaiJiShiJian);

		label_14 = new CustomLabel("\u4FE1\u606F\u91C7\u96C6\u5355\u4F4D");
		GridBagConstraints gbc_label_14 = new GridBagConstraints();
		gbc_label_14.fill = GridBagConstraints.BOTH;
		gbc_label_14.insets = new Insets(0, 0, 5, 5);
		gbc_label_14.gridx = 4;
		gbc_label_14.gridy = 10;
		panelA.add(label_14, gbc_label_14);

		tfxinXiCaiJiDanWei = new CustomTextField();
		GridBagConstraints gbc_tfxinXiCaiJiDanWei = new GridBagConstraints();
		gbc_tfxinXiCaiJiDanWei.gridwidth = 5;
		gbc_tfxinXiCaiJiDanWei.insets = new Insets(0, 0, 5, 5);
		gbc_tfxinXiCaiJiDanWei.fill = GridBagConstraints.BOTH;
		gbc_tfxinXiCaiJiDanWei.gridx = 5;
		gbc_tfxinXiCaiJiDanWei.gridy = 10;
		panelA.add(tfxinXiCaiJiDanWei, gbc_tfxinXiCaiJiDanWei);
		// --------------------------------------------------------------------------------
		// TODO PB
		panelB = new JPanel();
		addTab("B.\u4EBA\u624D\u4FE1\u606F", panelB);
		GridBagLayout gbl_panelB = new GridBagLayout();
		gbl_panelB.columnWidths = new int[] { 25, 85, 110, 110, 110, 110, 128,
				0 };
		gbl_panelB.rowHeights = new int[] { 25, 35, 35, 35, 35, 35, 35, 35, 35,
				35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
				25, 0 };
		gbl_panelB.columnWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
				0.0, Double.MIN_VALUE };
		gbl_panelB.rowWeights = new double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
				0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
				0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE };
		panelB.setLayout(gbl_panelB);

		lblNewLabel_3 = new CustomLabel("\u4EBA\u624D\u7C7B\u522B\u5206\u76EE");
		GridBagConstraints gbc_lblNewLabel_3 = new GridBagConstraints();
		gbc_lblNewLabel_3.fill = GridBagConstraints.BOTH;
		gbc_lblNewLabel_3.insets = new Insets(0, 0, 5, 5);
		gbc_lblNewLabel_3.gridx = 1;
		gbc_lblNewLabel_3.gridy = 1;
		panelB.add(lblNewLabel_3, gbc_lblNewLabel_3);

		tfrenCaiLeiBieFenMu = new CustomTextField();

		GridBagConstraints gbc_tfrenCaiLeiBieFenMu = new GridBagConstraints();
		gbc_tfrenCaiLeiBieFenMu.insets = new Insets(0, 0, 5, 5);
		gbc_tfrenCaiLeiBieFenMu.fill = GridBagConstraints.BOTH;
		gbc_tfrenCaiLeiBieFenMu.gridx = 2;
		gbc_tfrenCaiLeiBieFenMu.gridy = 1;
		panelB.add(tfrenCaiLeiBieFenMu, gbc_tfrenCaiLeiBieFenMu);

		label_26 = new CustomLabel("\u4EBA\u624D\u5165\u5E93\u6807\u8BC6");
		GridBagConstraints gbc_label_26 = new GridBagConstraints();
		gbc_label_26.fill = GridBagConstraints.BOTH;
		gbc_label_26.insets = new Insets(0, 0, 5, 5);
		gbc_label_26.gridx = 3;
		gbc_label_26.gridy = 1;
		panelB.add(label_26, gbc_label_26);

		tfrenCaiRuKuBiaoShi = new CustomTextField();

		GridBagConstraints gbc_tfrenCaiRuKuBiaoShi = new GridBagConstraints();
		gbc_tfrenCaiRuKuBiaoShi.insets = new Insets(0, 0, 5, 5);
		gbc_tfrenCaiRuKuBiaoShi.fill = GridBagConstraints.BOTH;
		gbc_tfrenCaiRuKuBiaoShi.gridx = 4;
		gbc_tfrenCaiRuKuBiaoShi.gridy = 1;
		panelB.add(tfrenCaiRuKuBiaoShi, gbc_tfrenCaiRuKuBiaoShi);

		label_28 = new CustomLabel("\u4F01\u4E1A\u6027\u8D28");
		label_28.setText("在岗状态");

		GridBagConstraints gbc_label_28 = new GridBagConstraints();
		gbc_label_28.fill = GridBagConstraints.BOTH;
		gbc_label_28.insets = new Insets(0, 0, 5, 5);
		gbc_label_28.gridx = 5;
		gbc_label_28.gridy = 1;
		panelB.add(label_28, gbc_label_28);

		tfzaiGangZhuangTai = new CustomTextField();

		GridBagConstraints gbc_tfzaiGangZhuangTai = new GridBagConstraints();
		gbc_tfzaiGangZhuangTai.insets = new Insets(0, 0, 5, 0);
		gbc_tfzaiGangZhuangTai.fill = GridBagConstraints.BOTH;
		gbc_tfzaiGangZhuangTai.gridx = 6;
		gbc_tfzaiGangZhuangTai.gridy = 1;
		panelB.add(tfzaiGangZhuangTai, gbc_tfzaiGangZhuangTai);

		label_15 = new CustomLabel("\u4F01\u4E1A\u540D\u79F0");
		label_15.setText("从事工作(领域)");

		GridBagConstraints gbc_label_15 = new GridBagConstraints();
		gbc_label_15.fill = GridBagConstraints.BOTH;
		gbc_label_15.insets = new Insets(0, 0, 5, 5);
		gbc_label_15.gridx = 1;
		gbc_label_15.gridy = 2;
		panelB.add(label_15, gbc_label_15);

		tfcongShiGongZuo = new CustomTextField();

		GridBagConstraints gbc_tfcongShiGongZuo = new GridBagConstraints();
		gbc_tfcongShiGongZuo.gridwidth = 2;
		gbc_tfcongShiGongZuo.insets = new Insets(0, 0, 5, 5);
		gbc_tfcongShiGongZuo.fill = GridBagConstraints.BOTH;
		gbc_tfcongShiGongZuo.gridx = 2;
		gbc_tfcongShiGongZuo.gridy = 2;
		panelB.add(tfcongShiGongZuo, gbc_tfcongShiGongZuo);

		label_29 = new CustomLabel("\u4F01\u4E1A\u804C\u52A1");
		label_29.setText("专业及从事方向");

		GridBagConstraints gbc_label_29 = new GridBagConstraints();
		gbc_label_29.fill = GridBagConstraints.BOTH;
		gbc_label_29.insets = new Insets(0, 0, 5, 5);
		gbc_label_29.gridx = 4;
		gbc_label_29.gridy = 2;
		panelB.add(label_29, gbc_label_29);

		tfzhuanYeJiCongShiFangXiang = new CustomTextField();

		GridBagConstraints gbc_tfzhuanYeJiCongShiFangXiang = new GridBagConstraints();
		gbc_tfzhuanYeJiCongShiFangXiang.gridwidth = 2;
		gbc_tfzhuanYeJiCongShiFangXiang.insets = new Insets(0, 0, 5, 0);
		gbc_tfzhuanYeJiCongShiFangXiang.fill = GridBagConstraints.BOTH;
		gbc_tfzhuanYeJiCongShiFangXiang.gridx = 5;
		gbc_tfzhuanYeJiCongShiFangXiang.gridy = 2;
		panelB.add(tfzhuanYeJiCongShiFangXiang, gbc_tfzhuanYeJiCongShiFangXiang);

		label_16 = new CustomLabel("\u4F01\u4E1A\u6CE8\u518C\u8D44\u91D1");
		label_16.setText("工作单位（全称）");

		GridBagConstraints gbc_label_16 = new GridBagConstraints();
		gbc_label_16.fill = GridBagConstraints.BOTH;
		gbc_label_16.insets = new Insets(0, 0, 5, 5);
		gbc_label_16.gridx = 1;
		gbc_label_16.gridy = 3;
		panelB.add(label_16, gbc_label_16);

		tfgongZuoDanWei = new CustomTextField();

		GridBagConstraints gbc_tfgongZuoDanWei = new GridBagConstraints();
		gbc_tfgongZuoDanWei.gridwidth = 2;
		gbc_tfgongZuoDanWei.insets = new Insets(0, 0, 5, 5);
		gbc_tfgongZuoDanWei.fill = GridBagConstraints.BOTH;
		gbc_tfgongZuoDanWei.gridx = 2;
		gbc_tfgongZuoDanWei.gridy = 3;
		panelB.add(tfgongZuoDanWei, gbc_tfgongZuoDanWei);

		label_61 = new CustomLabel("\u4F01\u4E1A\u6027\u8D28");
		label_61.setText("行政职务");

		GridBagConstraints gbc_label_61 = new GridBagConstraints();
		gbc_label_61.fill = GridBagConstraints.BOTH;
		gbc_label_61.insets = new Insets(0, 0, 5, 5);
		gbc_label_61.gridx = 4;
		gbc_label_61.gridy = 3;
		panelB.add(label_61, gbc_label_61);

		tfxingZhengZhiWu = new CustomTextField();

		GridBagConstraints gbc_tfxingZhengZhiWu = new GridBagConstraints();
		gbc_tfxingZhengZhiWu.gridwidth = 2;
		gbc_tfxingZhengZhiWu.insets = new Insets(0, 0, 5, 0);
		gbc_tfxingZhengZhiWu.fill = GridBagConstraints.BOTH;
		gbc_tfxingZhengZhiWu.gridx = 5;
		gbc_tfxingZhengZhiWu.gridy = 3;
		panelB.add(tfxingZhengZhiWu, gbc_tfxingZhengZhiWu);

		label_17 = new CustomLabel("\u4E13\u4E1A\u4E13\u957F\u9886\u57DF");
		label_17.setText("技术职称");

		GridBagConstraints gbc_label_17 = new GridBagConstraints();
		gbc_label_17.fill = GridBagConstraints.BOTH;
		gbc_label_17.insets = new Insets(0, 0, 5, 5);
		gbc_label_17.gridx = 1;
		gbc_label_17.gridy = 4;
		panelB.add(label_17, gbc_label_17);

		tfjiShuZhiCheng = new CustomTextField();

		GridBagConstraints gbc_tfjiShuZhiCheng = new GridBagConstraints();
		gbc_tfjiShuZhiCheng.gridwidth = 2;
		gbc_tfjiShuZhiCheng.insets = new Insets(0, 0, 5, 5);
		gbc_tfjiShuZhiCheng.fill = GridBagConstraints.BOTH;
		gbc_tfjiShuZhiCheng.gridx = 2;
		gbc_tfjiShuZhiCheng.gridy = 4;
		panelB.add(tfjiShuZhiCheng, gbc_tfjiShuZhiCheng);

		label_59 = new CustomLabel("\u4F01\u4E1A\u96B6\u5C5E\u7C7B\u522B");
		label_59.setText("技术职务");

		GridBagConstraints gbc_label_59 = new GridBagConstraints();
		gbc_label_59.fill = GridBagConstraints.BOTH;
		gbc_label_59.insets = new Insets(0, 0, 5, 5);
		gbc_label_59.gridx = 4;
		gbc_label_59.gridy = 4;
		panelB.add(label_59, gbc_label_59);

		tfjiShuZhiWu = new CustomTextField();

		GridBagConstraints gbc_tfjiShuZhiWu = new GridBagConstraints();
		gbc_tfjiShuZhiWu.gridwidth = 2;
		gbc_tfjiShuZhiWu.insets = new Insets(0, 0, 5, 0);
		gbc_tfjiShuZhiWu.fill = GridBagConstraints.BOTH;
		gbc_tfjiShuZhiWu.gridx = 5;
		gbc_tfjiShuZhiWu.gridy = 4;
		panelB.add(tfjiShuZhiWu, gbc_tfjiShuZhiWu);

		label_22 = new CustomLabel(
				"<html>\r\n<body align=\"center\">\r\n\u8D1F\u8D23\u6216\u53C2\u52A0\u7684<br />\r\n\u79D1\u7814\u6210\u679C\u83B7\u5956<br />\r\n\u60C5\u51B5(\u5385\u7EA7\u4EE5\u4E0A)\r\n</body>\r\n</html>");
		label_22.setText("<html><body align=\"center\">科研成果<br />获奖情况</body></html>");

		GridBagConstraints gbc_label_22 = new GridBagConstraints();
		gbc_label_22.gridheight = 3;
		gbc_label_22.fill = GridBagConstraints.BOTH;
		gbc_label_22.insets = new Insets(0, 0, 5, 5);
		gbc_label_22.gridx = 1;
		gbc_label_22.gridy = 5;
		panelB.add(label_22, gbc_label_22);

		panelB1 = new SubtablePanel("b1");
		String[] headersB1 = new String[] { "课题或项目", "时间（年）", "奖励名称", "担当角色",
				"授奖机构" };
		String[] fieldsB1 = new String[] { "column01", "column02", "column03",
				"column04", "column05" };
		listB1 = new ArrayList<MSubtable>();
		panelB1.setHeader(headersB1, fieldsB1, "id");
		panelB1.setData(listB1);

		GridBagConstraints gbc_panelb1 = new GridBagConstraints();
		gbc_panelb1.gridheight = 3;
		gbc_panelb1.gridwidth = 5;
		gbc_panelb1.insets = new Insets(0, 0, 5, 0);
		gbc_panelb1.fill = GridBagConstraints.BOTH;
		gbc_panelb1.gridx = 2;
		gbc_panelb1.gridy = 5;
		panelB.add(panelB1, gbc_panelb1);

		label_23 = new CustomLabel(
				"<html><body align=\"center\">主要承担项目</body></html>");
		label_23.setText("<html><body align=\"center\">主要承担项目</body></html>");

		GridBagConstraints gbc_label_23 = new GridBagConstraints();
		gbc_label_23.gridheight = 3;
		gbc_label_23.fill = GridBagConstraints.BOTH;
		gbc_label_23.insets = new Insets(0, 0, 5, 5);
		gbc_label_23.gridx = 1;
		gbc_label_23.gridy = 8;
		panelB.add(label_23, gbc_label_23);

		panelB2 = new SubtablePanel("b2");
		String[] headersB2 = new String[] { "项目名称", "完成年度", "项目类别", "担当角色",
				"下达机构" };
		String[] fieldsB2 = new String[] { "column01", "column02", "column03",
				"column04", "column05" };
		listB2 = new ArrayList<MSubtable>();
		panelB2.setHeader(headersB2, fieldsB2, "id");
		panelB2.setData(listB2);
		GridBagConstraints gbc_panelb2 = new GridBagConstraints();
		gbc_panelb2.gridwidth = 5;
		gbc_panelb2.gridheight = 3;
		gbc_panelb2.insets = new Insets(0, 0, 5, 0);
		gbc_panelb2.fill = GridBagConstraints.BOTH;
		gbc_panelb2.gridx = 2;
		gbc_panelb2.gridy = 8;
		panelB.add(panelB2, gbc_panelb2);

		label_27 = new CustomLabel(
				"<html><body align=\"center\">主要论著<br />论文</body></html>");

		GridBagConstraints gbc_label_27 = new GridBagConstraints();
		gbc_label_27.gridheight = 3;
		gbc_label_27.fill = GridBagConstraints.BOTH;
		gbc_label_27.insets = new Insets(0, 0, 5, 5);
		gbc_label_27.gridx = 1;
		gbc_label_27.gridy = 11;
		panelB.add(label_27, gbc_label_27);

		panelB3 = new SubtablePanel("b3");
		String[] headersB3 = new String[] { "论著论文", "发表时间（年）", "出版社或刊物名称",
				"署名顺序", "发行册数或影响因子" };
		String[] fieldsB3 = new String[] { "column01", "column02", "column03",
				"column04", "column05" };
		listB3 = new ArrayList<MSubtable>();
		panelB3.setHeader(headersB3, fieldsB3, "id");
		panelB3.setData(listB3);
		GridBagConstraints gbc_panelb3 = new GridBagConstraints();
		gbc_panelb3.gridheight = 3;
		gbc_panelb3.gridwidth = 5;
		gbc_panelb3.insets = new Insets(0, 0, 5, 0);
		gbc_panelb3.fill = GridBagConstraints.BOTH;
		gbc_panelb3.gridx = 2;
		gbc_panelb3.gridy = 11;
		panelB.add(panelB3, gbc_panelb3);

		label_30 = new CustomLabel("获得专利");

		GridBagConstraints gbc_label_30 = new GridBagConstraints();
		gbc_label_30.gridheight = 3;
		gbc_label_30.fill = GridBagConstraints.BOTH;
		gbc_label_30.insets = new Insets(0, 0, 5, 5);
		gbc_label_30.gridx = 1;
		gbc_label_30.gridy = 14;
		panelB.add(label_30, gbc_label_30);

		panelB4 = new SubtablePanel("b4");
		String[] headersB4 = new String[] { "专利号", "专利名称", "类别", "公开公告日",
				"批准机构" };
		String[] fieldsB4 = new String[] { "column01", "column02", "column03",
				"column04", "column05" };
		listB4 = new ArrayList<MSubtable>();
		panelB4.setHeader(headersB4, fieldsB4, "id");
		panelB4.setData(listB4);
		GridBagConstraints gbc_panelb4 = new GridBagConstraints();
		gbc_panelb4.gridheight = 3;
		gbc_panelb4.gridwidth = 5;
		gbc_panelb4.insets = new Insets(0, 0, 5, 0);
		gbc_panelb4.fill = GridBagConstraints.BOTH;
		gbc_panelb4.gridx = 2;
		gbc_panelb4.gridy = 14;
		panelB.add(panelB4, gbc_panelb4);

		customLabel = new CustomLabel("在海南业务");
		GridBagConstraints gbc_customLabel = new GridBagConstraints();
		gbc_customLabel.fill = GridBagConstraints.BOTH;
		gbc_customLabel.gridheight = 3;
		gbc_customLabel.insets = new Insets(0, 0, 5, 5);
		gbc_customLabel.gridx = 1;
		gbc_customLabel.gridy = 17;
		panelB.add(customLabel, gbc_customLabel);

		panelB5 = new SubtablePanel("b5");
		String[] headersB5 = new String[] { "业务名称", "起止时间", "业务类型", "业务领域",
				"担当角色" };
		String[] fieldsB5 = new String[] { "column01", "column02", "column03",
				"column04", "column05" };
		listB5 = new ArrayList<MSubtable>();
		panelB5.setHeader(headersB5, fieldsB5, "id");
		panelB5.setData(listB5);

		GridBagConstraints gbc_subtablePanel = new GridBagConstraints();
		gbc_subtablePanel.gridheight = 3;
		gbc_subtablePanel.gridwidth = 5;
		gbc_subtablePanel.insets = new Insets(0, 0, 5, 0);
		gbc_subtablePanel.fill = GridBagConstraints.BOTH;
		gbc_subtablePanel.gridx = 2;
		gbc_subtablePanel.gridy = 17;
		panelB.add(panelB5, gbc_subtablePanel);

		customLabel_1 = new CustomLabel("个人荣誉");
		GridBagConstraints gbc_customLabel_1 = new GridBagConstraints();
		gbc_customLabel_1.fill = GridBagConstraints.BOTH;
		gbc_customLabel_1.gridheight = 3;
		gbc_customLabel_1.insets = new Insets(0, 0, 5, 5);
		gbc_customLabel_1.gridx = 1;
		gbc_customLabel_1.gridy = 20;
		panelB.add(customLabel_1, gbc_customLabel_1);

		panelB6 = new SubtablePanel("b6");
		String[] headersB6 = new String[] { "入选年份", "个人荣誉", "授予机构" };
		String[] fieldsB6 = new String[] { "column01", "column02", "column03" };
		listB6 = new ArrayList<MSubtable>();
		panelB6.setHeader(headersB6, fieldsB6, "id");
		panelB6.setData(listB6);
		GridBagConstraints gbc_subtablePanel_1 = new GridBagConstraints();
		gbc_subtablePanel_1.gridheight = 3;
		gbc_subtablePanel_1.gridwidth = 5;
		gbc_subtablePanel_1.insets = new Insets(0, 0, 5, 0);
		gbc_subtablePanel_1.fill = GridBagConstraints.BOTH;
		gbc_subtablePanel_1.gridx = 2;
		gbc_subtablePanel_1.gridy = 20;
		panelB.add(panelB6, gbc_subtablePanel_1);

		label_25 = new CustomLabel("\u638C\u63E1\u8BED\u8A00");

		GridBagConstraints gbc_label_25 = new GridBagConstraints();
		gbc_label_25.fill = GridBagConstraints.BOTH;
		gbc_label_25.insets = new Insets(0, 0, 5, 5);
		gbc_label_25.gridx = 1;
		gbc_label_25.gridy = 23;
		panelB.add(label_25, gbc_label_25);

		tfzhangWoYuYan = new CustomTextField();
		GridBagConstraints gbc_tfzhangWoYuYan = new GridBagConstraints();
		gbc_tfzhangWoYuYan.insets = new Insets(0, 0, 5, 5);
		gbc_tfzhangWoYuYan.fill = GridBagConstraints.BOTH;
		gbc_tfzhangWoYuYan.gridx = 2;
		gbc_tfzhangWoYuYan.gridy = 23;
		panelB.add(tfzhangWoYuYan, gbc_tfzhangWoYuYan);

		label_55 = new CustomLabel("\u4E1A\u4F59\u4E13\u957F\u53CA\u7231\u597D");
		label_55.setText("业余爱好");

		GridBagConstraints gbc_label_55 = new GridBagConstraints();
		gbc_label_55.fill = GridBagConstraints.BOTH;
		gbc_label_55.insets = new Insets(0, 0, 5, 5);
		gbc_label_55.gridx = 3;
		gbc_label_55.gridy = 23;
		panelB.add(label_55, gbc_label_55);

		tfyeYuAiHao = new CustomTextField();
		GridBagConstraints gbc_tfyeYuAiHao = new GridBagConstraints();
		gbc_tfyeYuAiHao.insets = new Insets(0, 0, 5, 5);
		gbc_tfyeYuAiHao.fill = GridBagConstraints.BOTH;
		gbc_tfyeYuAiHao.gridx = 4;
		gbc_tfyeYuAiHao.gridy = 23;
		panelB.add(tfyeYuAiHao, gbc_tfyeYuAiHao);

		label_56 = new CustomLabel("\u662F\u5426\u67D4\u6027\u5F15\u8FDB");
		label_56.setText("归国人员");

		GridBagConstraints gbc_label_56 = new GridBagConstraints();
		gbc_label_56.fill = GridBagConstraints.BOTH;
		gbc_label_56.insets = new Insets(0, 0, 5, 5);
		gbc_label_56.gridx = 5;
		gbc_label_56.gridy = 23;
		panelB.add(label_56, gbc_label_56);

		tfguiGuoRenYuan = new CustomTextField();
		GridBagConstraints gbc_tfguiGuoRenYuan = new GridBagConstraints();
		gbc_tfguiGuoRenYuan.insets = new Insets(0, 0, 5, 0);
		gbc_tfguiGuoRenYuan.fill = GridBagConstraints.BOTH;
		gbc_tfguiGuoRenYuan.gridx = 6;
		gbc_tfguiGuoRenYuan.gridy = 23;
		panelB.add(tfguiGuoRenYuan, gbc_tfguiGuoRenYuan);

		label_60 = new CustomLabel("掌握语言");
		label_60.setText("最近一次上岛时间(年和月)");
		GridBagConstraints gbc_label_60 = new GridBagConstraints();
		gbc_label_60.fill = GridBagConstraints.BOTH;
		gbc_label_60.gridwidth = 2;
		gbc_label_60.insets = new Insets(0, 0, 5, 5);
		gbc_label_60.gridx = 1;
		gbc_label_60.gridy = 24;
		panelB.add(label_60, gbc_label_60);

		tfzuiJinYiCiShangDaoShiJian = new CustomTextField();
		GridBagConstraints gbc_tfzuiJinYiCiShangDaoShiJian = new GridBagConstraints();
		gbc_tfzuiJinYiCiShangDaoShiJian.insets = new Insets(0, 0, 5, 5);
		gbc_tfzuiJinYiCiShangDaoShiJian.fill = GridBagConstraints.BOTH;
		gbc_tfzuiJinYiCiShangDaoShiJian.gridx = 3;
		gbc_tfzuiJinYiCiShangDaoShiJian.gridy = 24;
		panelB.add(tfzuiJinYiCiShangDaoShiJian, gbc_tfzuiJinYiCiShangDaoShiJian);

		label_80 = new CustomLabel("掌握语言");
		label_80.setText("是否柔性引进");
		GridBagConstraints gbc_label_80 = new GridBagConstraints();
		gbc_label_80.fill = GridBagConstraints.BOTH;
		gbc_label_80.gridwidth = 2;
		gbc_label_80.insets = new Insets(0, 0, 5, 5);
		gbc_label_80.gridx = 4;
		gbc_label_80.gridy = 24;
		panelB.add(label_80, gbc_label_80);

		tfshiFouRouXingYinJin = new CustomTextField();
		GridBagConstraints gbc_tfshiFouRouXingYinJin = new GridBagConstraints();
		gbc_tfshiFouRouXingYinJin.insets = new Insets(0, 0, 5, 0);
		gbc_tfshiFouRouXingYinJin.fill = GridBagConstraints.BOTH;
		gbc_tfshiFouRouXingYinJin.gridx = 6;
		gbc_tfshiFouRouXingYinJin.gridy = 24;
		panelB.add(tfshiFouRouXingYinJin, gbc_tfshiFouRouXingYinJin);

		// --------------------------------------------------------------------------------
		// TODO PC 学习工作简历（从初中填起）
		panelC = new ResumePanel();
		addTab("C.学习工作简历（从大学填起）", panelC);
		// --------------------------------------------------------------------------------
		// TODO PD 参加学术组织和社会团体情况
		panelD = new AcademicOrganizationAndSocialGroupPanel();
		addTab("D.参加学术组织和社会团体情况", panelD);
		// --------------------------------------------------------------------------------
		// TODO PE 参加党代会、人大、政协以及在民主党派组织任职情况
		panelE = new AttendMeetingAndServicePanel();
		addTab("E.参加党代会、人大、政协以及在民主党派组织任职情况", panelE);
		// --------------------------------------------------------------------------------
		// TODO PF 家庭成员及在海南亲友情况
		panelF = new FamilyPanel();
		addTab("F.家庭成员情况", panelF);
		// --------------------------------------------------------------------------------
		// TODO PG 自我评价及工作愿景（限500字）
		panelG = new SelfAssessmentPanel();
		addTab("G.自我评价及工作愿景（限500字）", panelG);
		// --------------------------------------------------------------------------------
		// TODO PH 报送意见
		panelH = new DepartmentOpinionPanel();
		addTab("H.报送意见", panelH);
		// --------------------------------------------------------------------------------
		// TODO PI 参与的人才活动
		panelI = new ActivityPanel();
		addTab("I.\u53C2\u4E0E\u7684\u4EBA\u624D\u6D3B\u52A8", panelI);
		// --------------------------------------------------------------------------------
		// TODO PJ 事迹报道
		panelJ = new StoryPanel();
		addTab("J.\u4E8B\u8FF9\u62A5\u9053", panelJ);
		// --------------------------------------------------------------------------------
		// TODO PK 人才情况补充说明
		panelK = new AdditionalPanel();
		addTab("K.\u4EBA\u624D\u60C5\u51B5\u8865\u5145\u8BF4\u660E", panelK);
	}

	@Override
	public void add() {
		super.add();
	}

	// @Override
	// public int save() {
	// // Save the BaseInfo to DB
	// int newId = super.save();
	// if (newId != 0) {
	// OutsideProvinceExpertsInfo existingRecord =
	// ((OutsideProvinceExpertsService) BeanFactory
	// .getBean("outsideProvinceExpertsService"))
	// .getOutsideProvinceExpertsInfoByBaseId(newId);
	// OutsideProvinceExpertsInfo outsideProvinceExpertsInfo =
	// (OutsideProvinceExpertsInfo) this
	// .setModelField(OutsideProvinceExpertsInfo.class,
	// OutsideProvinceExperts.class);
	// if (existingRecord != null) {
	// outsideProvinceExpertsInfo.setId(existingRecord.getId());
	// }
	// outsideProvinceExpertsInfo.setBaseId(newId);
	// // TODO Save the other information to DB
	// ((OutsideProvinceExpertsService) BeanFactory
	// .getBean("outsideProvinceExpertsService"))
	// .save(outsideProvinceExpertsInfo);
	// return outsideProvinceExpertsInfo.getId();
	// }
	// return 0;
	// }

	@Override
	public void find() {
		super.find();

	}

	@Override
	public void delete() {
		super.delete();
	}

	@Override
	protected int save() throws Exception {
		// TODO Auto-generated method stub
		BaseInfo baseInfo = super.prepareBaseInfo();
		if (baseInfo != null) {
			dcc.mbg.model.OutsideProvinceExperts outsideProvinceExperts = (dcc.mbg.model.OutsideProvinceExperts) this
					.setModelField(dcc.mbg.model.OutsideProvinceExperts.class,
							OutsideProvinceExperts.class);
			// TODO get more field, list ...
			outsideProvinceExperts.setZiWoPingJiaJiGongZuoYuanJing(this.panelG
					.getData());
			outsideProvinceExperts.setBuMenYiJian(this.panelH.getData());
			outsideProvinceExperts.setBuChongShuoMing(this.panelK.getData());
			((CommonService) BeanFactory.getBean("commonService"))
					.saveOutsideProvinceExperts(baseInfo,
							outsideProvinceExperts, this.listB1, this.listB2,
							this.listB3, this.listB4, this.listB5, this.listB6,
							this.panelC.getData(), this.panelD.getData(),
							this.panelE.getData(), this.panelF.getData(),
							this.panelI.getData(), this.panelJ.getData());
			// update Table
			panelB1.update();
			panelB2.update();
			panelB3.update();
			panelB4.update();
			panelB5.update();
			panelB6.update();
			panelC.update();
			panelD.update();
			panelE.update();
			panelF.update();
			panelI.update();
			panelJ.update();
			return 1;
		}
		return 0;
	}

}
